<<<<<<< HEAD








<!DOCTYPE html>
<html lang="en" >
  <head>
    <meta charset="utf-8">
    <meta content="ie=edge" http-equiv="x-ua-compatible">
    <meta http-equiv="Cache-control" content="public, max-age=0, must-revalidate">

    

    
      
      <meta name="description" content="Uber's Visualization Frameworks">
      
    

    <title>Uber's Visualization Frameworks</title>

    

    
    <meta content="width=device-width, initial-scale=1" name="viewport">
    

    
    
  	<link rel="icon" type="img/ico" href="favicon.ico">
    

    
    
    <link href="styles-64dd022bbb76edcf40ba.css" rel="stylesheet">
    
    

  </head>
  <body>
    

    
    <div id="root"></div>
    
    

    

    

    
    
  	<script src="https://uber.github.io/react-vis/redirect.js" type="text/javascript"></script>
    

    
    
    <script src="bundle-64dd022bbb76edcf40ba.js" type="text/javascript"></script>
    
    

    

    
  </body>
</html>
=======
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><style data-href="/1.f8921c3a5126842345a6.css">@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,
  400i,
  600,
  600i);.odometer.odometer-auto-theme,.odometer.odometer-auto-theme .odometer-digit,.odometer.odometer-theme-default,.odometer.odometer-theme-default .odometer-digit{display:inline-block;vertical-align:middle;*vertical-align:auto;*zoom:1;*display:inline;position:relative}.odometer.odometer-auto-theme .odometer-digit .odometer-digit-spacer,.odometer.odometer-theme-default .odometer-digit .odometer-digit-spacer{display:inline-block;vertical-align:middle;*vertical-align:auto;*zoom:1;*display:inline;visibility:hidden}.odometer.odometer-auto-theme .odometer-digit .odometer-digit-inner,.odometer.odometer-theme-default .odometer-digit .odometer-digit-inner{text-align:left;display:block;position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden}.odometer.odometer-auto-theme .odometer-digit .odometer-ribbon,.odometer.odometer-theme-default .odometer-digit .odometer-ribbon{display:block}.odometer.odometer-auto-theme .odometer-digit .odometer-ribbon-inner,.odometer.odometer-theme-default .odometer-digit .odometer-ribbon-inner{display:block;-webkit-backface-visibility:hidden}.odometer.odometer-auto-theme .odometer-digit .odometer-value,.odometer.odometer-theme-default .odometer-digit .odometer-value{display:block;-webkit-transform:translateZ(0)}.odometer.odometer-auto-theme .odometer-digit .odometer-value.odometer-last-value,.odometer.odometer-theme-default .odometer-digit .odometer-value.odometer-last-value{position:absolute}.odometer.odometer-auto-theme.odometer-animating-up .odometer-ribbon-inner,.odometer.odometer-theme-default.odometer-animating-up .odometer-ribbon-inner{transition:-webkit-transform 2s;transition:transform 2s;transition:transform 2s,-webkit-transform 2s}.odometer.odometer-auto-theme.odometer-animating-down .odometer-ribbon-inner,.odometer.odometer-auto-theme.odometer-animating-up.odometer-animating .odometer-ribbon-inner,.odometer.odometer-theme-default.odometer-animating-down .odometer-ribbon-inner,.odometer.odometer-theme-default.odometer-animating-up.odometer-animating .odometer-ribbon-inner{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.odometer.odometer-auto-theme.odometer-animating-down.odometer-animating .odometer-ribbon-inner,.odometer.odometer-theme-default.odometer-animating-down.odometer-animating .odometer-ribbon-inner{transition:-webkit-transform 2s;transition:transform 2s;transition:transform 2s,-webkit-transform 2s;-webkit-transform:translateY(0);transform:translateY(0)}.odometer.odometer-auto-theme,.odometer.odometer-theme-default{font-family:Helvetica Neue,sans-serif;line-height:1.1em}.odometer.odometer-auto-theme .odometer-value,.odometer.odometer-theme-default .odometer-value{text-align:center}@-webkit-keyframes placeloader-right{0%{background-position:200% 0}to{background-position:0 0}}@keyframes placeloader-right{0%{background-position:200% 0}to{background-position:0 0}}@-webkit-keyframes placeloader-left{0%{background-position:0 0}to{background-position:200% 0}}@keyframes placeloader-left{0%{background-position:0 0}to{background-position:200% 0}}@-webkit-keyframes placeloader-top{0%{background-position:0 0}to{background-position:0 200%}}@keyframes placeloader-top{0%{background-position:0 0}to{background-position:0 200%}}@-webkit-keyframes placeloader-bottom{0%{background-position:0 200%}to{background-position:0 0}}@keyframes placeloader-bottom{0%{background-position:0 200%}to{background-position:0 0}}.placeloader{background-image:linear-gradient(90deg,transparent,rgba(0,0,0,.25))}.placeloader,.placeloader2{-webkit-animation:placeloader-right 1s linear infinite;animation:placeloader-right 1s linear infinite}.placeloader2{background-image:linear-gradient(90deg,#eee,#ddd 10%,#eee 20%)}.placeloader-left{background-image:linear-gradient(270deg,transparent,rgba(0,0,0,.25))}.placeloader2-left,.placeloader-left{-webkit-animation:placeloader-left 1s linear infinite;animation:placeloader-left 1s linear infinite}.placeloader2-left{background-image:linear-gradient(270deg,#eee,#ddd 10%,#eee 20%)}.placeloader-bottom{background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.25))}.placeloader2-bottom,.placeloader-bottom{-webkit-animation:placeloader-bottom 1s linear infinite;animation:placeloader-bottom 1s linear infinite}.placeloader2-bottom{background-image:linear-gradient(180deg,#eee,#ddd 10%,#eee 20%)}.placeloader-top{background-image:linear-gradient(0deg,transparent,rgba(0,0,0,.25))}.placeloader2-top,.placeloader-top{-webkit-animation:placeloader-top 1s linear infinite;animation:placeloader-top 1s linear infinite}.placeloader2-top{background-image:linear-gradient(0deg,#eee,#ddd 10%,#eee 20%)}[class*=" placeloader"],[class^=placeloader]{background-size:200%}@font-face{font-family:ff-clan-web-pro;font-style:normal;font-weight:100;src:url(https://uber-design-herokuapp-com.global.ssl.fastly.net/03b64805a8cd2d53fadc5814445c2fb5.woff2) format("woff2"),url(https://uber-design-herokuapp-com.global.ssl.fastly.net/341462317dd033a9d3d14a14a55e9d09.woff) format("woff")}@font-face{font-family:ff-clan-web-pro;font-style:normal;font-weight:400;src:url(https://uber-design-herokuapp-com.global.ssl.fastly.net/ca614426b50ca7d007056aa00954764b.woff2) format("woff2"),url(https://uber-design-herokuapp-com.global.ssl.fastly.net/a9e39356639e85c045725ab277a8d423.woff) format("woff")}@font-face{font-family:ff-clan-web-pro;font-style:normal;font-weight:500;src:url(https://uber-design-herokuapp-com.global.ssl.fastly.net/ca104da8af9a2e0771e8fe2b31f8ec1e.woff2) format("woff2"),url(https://uber-design-herokuapp-com.global.ssl.fastly.net/f39b50d5fd213136c91b31d423ab89f1.woff) format("woff")}@font-face{font-family:ff-clan-web-pro;font-style:normal;font-weight:600;src:url(https://uber-design-herokuapp-com.global.ssl.fastly.net/ad875b9818771a1350232d99278c40e8.woff2) format("woff2"),url(https://uber-design-herokuapp-com.global.ssl.fastly.net/49e5932ee0897877dbf33c945b7e408f.woff) format("woff")}body,html{height:auto!important}#root>div>div{margin-bottom:1rem!important}.main-container>div:not(.toc):after{content:"";background-image:none;background-repeat:no-repeat;width:8rem;height:3rem;margin-top:3rem;margin-left:1rem;display:inherit;z-index:1}.main-container{width:100%;position:absolute;top:0}.main-container>.toc{position:relative;box-shadow:none;height:auto;width:13rem}.main-container>.toc+*{margin-left:0}.menu-toggle,header .links a.active{color:#000!important}.markdown{position:relative!important;width:intial!important}header.about,header.home,header.inthenews{color:#fff;max-height:100%!important;padding-top:40px;position:absolute!important}header.about .container,header.home .container,header.inthenews .container{max-width:calc(100% - 118px);position:relative}header.about h1,header.home h1,header.inthenews h1{font-size:18px;font-weight:700;letter-spacing:4px;position:relative}header.about h1:before,header.home h1:before,header.inthenews h1:before{content:"";background:url() no-repeat;background-size:cover;height:38px;width:47px;position:absolute;top:10px;left:-40px}header.about h1 a:visited,header.home h1 a:visited,header.inthenews h1 a:visited{color:#ededed}header.about .links,header.home .links,header.inthenews .links{left:auto;margin-top:0;overflow:visible;position:absolute;top:0;right:0;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}header.about .links a,header.home .links a,header.inthenews .links a{font-size:14px;font-weight:400;margin-left:48px!important;text-transform:capitalize!important;transition:color .5s}header.about .links a.active,header.about .links a:hover,header.home .links a.active,header.home .links a:hover,header.inthenews .links a.active,header.inthenews .links a:hover{border-top-color:transparent!important;color:#ededed!important}header.about a,header.home a,header.inthenews a{padding:0 1rem}header.about,header.inthenews{background:url(/static/header-background-08cc5137cd2d6632bd7d3be8681845a2.png) no-repeat #100a29;padding-top:0}.menu-toggle{display:none!important}#hero{color:#ededed;height:690px;padding-top:232px;position:relative;width:100vw}#hero .main{font-size:55px;font-weight:100;line-height:1.5em;margin:0 auto 34px;max-width:883px;text-align:center}#hero .main em{color:#d0021b}#hero .secondary{font-size:24px;font-weight:300;text-align:center}footer h1,header.home h1{font-size:18px;font-weight:700;height:70px;letter-spacing:4px;line-height:70px;position:relative}footer h1:before,header.home h1:before{content:"";background:url(/images/logo-small.png) no-repeat;background-size:cover;height:38px;width:47px;position:absolute;top:10px;left:-40px}footer h1 a:visited,header.home h1 a:visited{color:#ededed}#repos{width:100%}.Repo{margin:0 auto;max-width:1172px}.Repo.small{border:1px solid #ededed;border-radius:2px;box-shadow:0 2px 4px 0 rgba(0,0,0,.16);display:inline-block;height:264px;width:371px;margin-right:29px;margin-bottom:21px;padding:24px 33px;transition:box-shadow .5s;vertical-align:top}.Repo.small:hover{box-shadow:0 8px 16px 0 rgba(0,0,0,.16)}.Repo.small .Repo-desc{color:#333;font-size:16px;line-height:25px;margin-left:0;margin-bottom:1em}.Repo-img{max-width:1172px;height:360px;background-size:cover;background-color:#100a29;margin-bottom:2rem;position:relative;cursor:pointer;transition:box-shadow .2s}.Repo-img:after{background:#141026;content:"";mix-blend-mode:color;opacity:1;position:absolute;width:100%;height:100%;transition:opacity .2s linear}.Repo-img:hover{box-shadow:0 12px 20px 0 rgba(0,0,0,.2)}.Repo-img:hover:after{opacity:0}.link{border-bottom:0 solid transparent;font-weight:500;text-transform:capitalize;font-size:14px;line-height:18px;margin-bottom:-1px;padding-bottom:1px;transition:all .35s cubic-bezier(.23,1,.32,1);width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.link,.link:visited{color:#0070c9}.link:hover{border-bottom:2px solid;margin-bottom:-3px}.Repo-github{padding:1rem 1rem 3rem;display:flex}.Repo-github .Repo-desc{margin-left:2rem}.Repo-github h1{font-size:21px;font-weight:600;color:#041725;margin-bottom:10px}.Repo-github h1:first-letter{text-transform:capitalize}.Repo-github .badge{background:#ededed;border:1px solid #979797;border-radius:4px;display:inline-flex;font-size:10px;padding:0 5px;margin:0 0 21px;text-transform:uppercase;transition:color .5s,border-color .5s,background .5s}.Repo-github .badge:hover{background:#979797;color:#ededed!important}.Repo-github .Repo-border{border-top:1px solid #ededed;margin-top:10px;padding-top:12px;position:relative;width:169px}.Repo-github .Stars{color:#ffb401;position:absolute;right:0;top:10px}.Repo-github .Stars .odometer{color:#041725;font-family:inherit;margin-left:6px}.Repo-desc{display:inline-block;font-size:32px;font-weight:400;line-height:49px;vertical-align:top}.main-container>div.f{flex-direction:column}.section-title{background:url(/images/vis-logo.png) no-repeat;max-width:1172px;margin:67px auto 57px;min-height:296px;padding:47px 0 0 213px;width:100%}.section-title h2{font-size:21px;font-weight:500;margin-bottom:18px}.section-title p{font-size:48px;font-weight:100;letter-spacing:-.25px;line-height:1.5em;max-width:600px}.section-title--no-logo{background:none}.section-title--no-logo p{max-width:calc(100% - 100px)}#showcase{background:#100a29;color:#ededed;font-size:16px;padding:67px 0 220px}#showcase h1{font-weight:500;line-height:34px;margin-top:34px}#showcase .description{font-weight:200;line-height:24px;margin-bottom:27px;max-width:500px;opacity:.6}#showcase a,#showcase a:visited{color:#ededed}.cases{max-width:1242px;width:calc(100vw - 58px);margin:0 auto;display:flex;justify-content:center;flex-wrap:wrap}.case{display:inline-block;margin-right:31px;padding-left:21px;vertical-align:top}.case,.case-image{max-width:590px;width:calc(50vw - 60px)}.case-image{background:#100a29 0 0/contain no-repeat;height:calc((50vw - 60px)/1.6);max-height:369px;background:#100a29 0 0/cover no-repeat;height:369px}.frame{border-radius:6px;overflow:hidden;-webkit-transform:translate(-21px);transform:translate(-21px)}.browser-bar{background:hsla(0,0%,85%,.2);height:23px;padding:8px}.browser-bar-button{background:hsla(0,0%,85%,.2);border-radius:50%;display:inline-block;height:8px;margin-right:6px;vertical-align:top;width:8px}.link-with-arrow .label{border-bottom:0 solid transparent;margin-bottom:-1px;padding-bottom:1px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;transition:all .35s cubic-bezier(.23,1,.32,1)}.link-with-arrow .arrow{margin-left:10px;transition:margin .5s}.link-with-arrow:hover .label{margin-bottom:-3px;border-bottom:2px solid}.link-with-arrow:hover .arrow{margin-left:20px}.modules{max-width:1200px;margin:0 auto;padding-bottom:100px}.main-container>div:not(.toc):after{height:0!important;margin:0!important}footer{height:-webkit-fit-content!important;height:-moz-fit-content!important;height:fit-content!important;background:#100a29!important;padding:2rem 4rem 8rem!important;position:static!important}footer h1{left:37px;padding-left:10px}footer .content{max-width:1172px}footer .links,footer .main{display:inline-block;font-size:14px;font-weight:500;vertical-align:top}footer .main{line-height:23px;margin-right:25%;max-width:25%}footer .links{line-height:41px;max-width:15%;margin-right:20px;width:100%}footer ul{list-style:none}footer a,footer li,footer p{margin:0!important;opacity:.6;padding:0!important}footer a,footer a:visited{color:#ededed}.big-link{background:#100a29;border-radius:27.5px;height:55px;margin:0 auto 110px;font-size:16px;line-height:34px;max-width:366px;padding:10px 36px;text-align:center}.big-link a{display:flex;justify-content:center;align-items:center}.big-link a,.big-link a:visited{color:#ededed}#academy{background:#fafafa;padding:67px 0}#About{margin-top:110px}#About,#InTheNews{width:100%}#intro{margin:0 auto;max-width:1172px}.mission p{font-size:22px;max-width:calc(100% - 105px)}.about--intro--pictures{color:#979797;font-size:10px;margin:100px auto;max-width:calc(100vw - 71px);width:100%}.about--intro--pictures p{margin-top:12px}.about--pic{background:#ededed 0 0/contain no-repeat;width:100%;height:100%}.about--intro--pictures--main{width:calc(100vw - 71px);height:calc((100vw - 71px)/2.05);max-width:1170px;max-height:571px;margin-top:1rem}.about--intro--pictures--small{display:inline-block;width:calc(50vw - 51px);height:calc((50vw - 51px)/1.62);max-width:571px;max-height:350px;vertical-align:top;margin-bottom:30px}.about--intro--pictures--small:first-child{margin-right:30px}#news{background:#fafafa;padding-bottom:100px;padding-top:109px}.news-items{margin:0 auto;max-width:calc(100vw - 151px);width:100%}.news--item{border-top:1px solid #ededed;box-shadow:0 0 0 rgba(0,0,0,.16);color:#041725;margin:0 -40px;min-height:359px;padding:40px;position:relative;width:calc(100% + 80px);transition:box-shadow .5s}.news--item:hover{box-shadow:0 8px 16px 0 rgba(0,0,0,.16)}.news--item+.news--item{margin-top:1rem}.news--item h3{font-size:16px;font-weight:500;margin-top:17px;margin-bottom:0}.news--item--date{color:#979797;font-size:10px}.news--item--title{font-size:21px;font-weight:400;margin:11px 0 38px;max-width:calc(100% - 550px)}.news--item--image{position:absolute;right:40px;top:40px}a.news--item--read,a.news--item--read:visited{color:#0070c9;font-size:16px}header{position:fixed;display:flex;top:0;left:0;width:100%;transition:all .3s;max-height:4rem;line-height:4rem;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;z-index:101}header .header-content{padding:0 1rem;width:100%}header .bg{position:absolute;z-index:-1;width:100%;height:100%;background:#041725}header .logo{color:#ededed;font-weight:500;text-transform:capitalize}header .menu-toggle{height:4rem;width:4rem;margin-left:auto;font-size:24px;color:#ededed;cursor:pointer;display:none}header .links{margin-left:auto;color:#8d9ba3}header .links .Stars{margin-left:.5rem;padding:3px 0;min-width:3.5rem;color:#ededed}header .links a{display:flex;align-items:center;justify-content:center;padding:0 .5rem;height:100%;color:#8d9ba3;border-color:transparent;border-style:solid;border-width:3px 0;margin-left:1rem}header .links a:hover{border-top-color:#8d9ba3}header .links a.active{color:#ededed;border-top-color:#00ade6;border-image-slice:2}header .links .icon{line-height:0;margin-left:4px}header.open{overflow:visible}.site-links{position:relative;padding-left:24px;padding-right:40px;margin-left:-24px;top:-4em;transition:all .3s;max-height:4rem;overflow:hidden;display:none}.open .site-links{display:block}.home .site-links:after{content:"\25BE";display:block;position:absolute;top:0;right:12px;color:#5a666d}.site-links .site-link{width:100%;text-transform:capitalize}.site-links .site-link a{width:100%;color:#ededed}.site-links .site-link a.logo{display:none}.site-links .site-link:nth-child(n+2){opacity:.5}.site-links .site-link:hover{opacity:1!important}.site-links:hover{background:#041725;max-height:20rem}.Hero{color:#ededed;background-color:#213746;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding:5rem 4rem;overflow:hidden}.Hero h1{font-size:56px;font-weight:600;line-height:80px;text-transform:capitalize}.Hero p{color:#8d9ba3}.Hero .btn{border:2px solid #00ade6;-o-border-image:linear-gradient(90deg,#00ade6,#05e3d5);border-image:linear-gradient(90deg,#00ade6,#05e3d5);border-image-slice:2;transition:background-color .15s ease-in,color .15s ease-in;font-size:20px;line-height:28px;padding:1rem 3rem;margin-top:2rem}.Hero .btn:hover{color:#ededed;background-color:rgba(0,173,230,.3)}.toc{position:fixed;width:17rem;height:calc(100% - 4rem);padding:1rem;flex-shrink:0;z-index:1;overflow-y:auto;-webkit-overflow-scrolling:touch;background-color:#fff;border-right:1px solid #e0e0e0;transition:all .3s;white-space:nowrap}.toc>div{padding-bottom:80px}.toc .subpages{transition:max-height .3s;overflow:hidden}.toc li{list-style:none;line-height:40px}.toc a{display:block}.toc .link{padding-left:28px;color:#213746;background:transparent;border:solid transparent;border-width:0 0 0 4px}.toc .link:hover{color:#8d9ba3}.toc .link.active{color:#00ade6;font-weight:700;border-color:#00ade6;-o-border-image:linear-gradient(180deg,#00ade6,#05e3d5);border-image:linear-gradient(180deg,#00ade6,#05e3d5);border-image-slice:2}.toc .list-header{position:relative;font-weight:600;font-size:16px;line-height:24px;padding:24px 0 8px 24px;color:#8d9ba3}.toc .list-header:not(.active):not(.expanded):before{content:"+";font-weight:600;color:#8d9ba3;position:absolute;top:24px;right:8px;font-size:16px;line-height:24px}.toc .list-header:not(.active):not(.expanded)+.subpages{max-height:0!important}.toc+*{margin-left:17rem}.search-input{padding:.5rem 1rem;border:1px solid rgba(0,0,0,.2);outline:none}.search-item .search-title{font-size:1.5rem;margin-bottom:.5rem}.search-item .search-content{max-height:5rem;overflow:hidden}.search-item+.search-item{margin-top:1rem}.search-item>div:last-child img,.search-item>div:last-child table{display:none}.markdown{width:calc(100% - 17rem);position:absolute}.markdown-body{padding:40px 36px 96px}.overlays{cursor:crosshair}.container.page{max-width:inherit}.demo{position:relative;overflow:hidden!important;height:35vh;transition:height .6s cubic-bezier(.22,.61,.36,1)}.demo h2{margin-bottom:0;font-size:1rem}.demo>div:first-child{margin-top:-20vh;transition:margin-top .6s cubic-bezier(.22,.61,.36,1)}.demo:hover{height:70vh}.demo:hover>div:first-child{margin-top:0}.guideline-chart{border:1px solid #e5e5e4;padding:20px;max-width:700px}.inline-code{padding:1rem 2rem;overflow-x:hidden}.hljs{display:block;overflow-x:auto;padding:.5em;color:#333;background:#f8f8f8}.hljs-comment,.hljs-quote{color:#998;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-subst{color:#333;font-weight:700}.hljs-literal,.hljs-number,.hljs-tag .hljs-attr,.hljs-template-variable,.hljs-variable{color:teal}.hljs-doctag,.hljs-string{color:#d14}.hljs-section,.hljs-selector-id,.hljs-title{color:#900;font-weight:700}.hljs-subst{font-weight:400}.hljs-class .hljs-title,.hljs-type{color:#458;font-weight:700}.hljs-attribute,.hljs-name,.hljs-tag{color:navy;font-weight:400}.hljs-link,.hljs-regexp{color:#009926}.hljs-bullet,.hljs-symbol{color:#990073}.hljs-built_in,.hljs-builtin-name{color:#0086b3}.hljs-meta{color:#999;font-weight:700}.hljs-deletion{background:#fdd}.hljs-addition{background:#dfd}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}@font-face{font-family:octicons-link;src:url(data:font/woff;charset=utf-8;base64,d09GRgABAAAAAAZwABAAAAAACFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEU0lHAAAGaAAAAAgAAAAIAAAAAUdTVUIAAAZcAAAACgAAAAoAAQAAT1MvMgAAAyQAAABJAAAAYFYEU3RjbWFwAAADcAAAAEUAAACAAJThvmN2dCAAAATkAAAABAAAAAQAAAAAZnBnbQAAA7gAAACyAAABCUM+8IhnYXNwAAAGTAAAABAAAAAQABoAI2dseWYAAAFsAAABPAAAAZwcEq9taGVhZAAAAsgAAAA0AAAANgh4a91oaGVhAAADCAAAABoAAAAkCA8DRGhtdHgAAAL8AAAADAAAAAwGAACfbG9jYQAAAsAAAAAIAAAACABiATBtYXhwAAACqAAAABgAAAAgAA8ASm5hbWUAAAToAAABQgAAAlXu73sOcG9zdAAABiwAAAAeAAAAME3QpOBwcmVwAAAEbAAAAHYAAAB/aFGpk3jaTY6xa8JAGMW/O62BDi0tJLYQincXEypYIiGJjSgHniQ6umTsUEyLm5BV6NDBP8Tpts6F0v+k/0an2i+itHDw3v2+9+DBKTzsJNnWJNTgHEy4BgG3EMI9DCEDOGEXzDADU5hBKMIgNPZqoD3SilVaXZCER3/I7AtxEJLtzzuZfI+VVkprxTlXShWKb3TBecG11rwoNlmmn1P2WYcJczl32etSpKnziC7lQyWe1smVPy/Lt7Kc+0vWY/gAgIIEqAN9we0pwKXreiMasxvabDQMM4riO+qxM2ogwDGOZTXxwxDiycQIcoYFBLj5K3EIaSctAq2kTYiw+ymhce7vwM9jSqO8JyVd5RH9gyTt2+J/yUmYlIR0s04n6+7Vm1ozezUeLEaUjhaDSuXHwVRgvLJn1tQ7xiuVv/ocTRF42mNgZGBgYGbwZOBiAAFGJBIMAAizAFoAAABiAGIAznjaY2BkYGAA4in8zwXi+W2+MjCzMIDApSwvXzC97Z4Ig8N/BxYGZgcgl52BCSQKAA3jCV8CAABfAAAAAAQAAEB42mNgZGBg4f3vACQZQABIMjKgAmYAKEgBXgAAeNpjYGY6wTiBgZWBg2kmUxoDA4MPhGZMYzBi1AHygVLYQUCaawqDA4PChxhmh/8ODDEsvAwHgMKMIDnGL0x7gJQCAwMAJd4MFwAAAHjaY2BgYGaA4DAGRgYQkAHyGMF8NgYrIM3JIAGVYYDT+AEjAwuDFpBmA9KMDEwMCh9i/v8H8sH0/4dQc1iAmAkALaUKLgAAAHjaTY9LDsIgEIbtgqHUPpDi3gPoBVyRTmTddOmqTXThEXqrob2gQ1FjwpDvfwCBdmdXC5AVKFu3e5MfNFJ29KTQT48Ob9/lqYwOGZxeUelN2U2R6+cArgtCJpauW7UQBqnFkUsjAY/kOU1cP+DAgvxwn1chZDwUbd6CFimGXwzwF6tPbFIcjEl+vvmM/byA48e6tWrKArm4ZJlCbdsrxksL1AwWn/yBSJKpYbq8AXaaTb8AAHja28jAwOC00ZrBeQNDQOWO//sdBBgYGRiYWYAEELEwMTE4uzo5Zzo5b2BxdnFOcALxNjA6b2ByTswC8jYwg0VlNuoCTWAMqNzMzsoK1rEhNqByEyerg5PMJlYuVueETKcd/89uBpnpvIEVomeHLoMsAAe1Id4AAAAAAAB42oWQT07CQBTGv0JBhagk7HQzKxca2sJCE1hDt4QF+9JOS0nbaaYDCQfwCJ7Au3AHj+LO13FMmm6cl7785vven0kBjHCBhfpYuNa5Ph1c0e2Xu3jEvWG7UdPDLZ4N92nOm+EBXuAbHmIMSRMs+4aUEd4Nd3CHD8NdvOLTsA2GL8M9PODbcL+hD7C1xoaHeLJSEao0FEW14ckxC+TU8TxvsY6X0eLPmRhry2WVioLpkrbp84LLQPGI7c6sOiUzpWIWS5GzlSgUzzLBSikOPFTOXqly7rqx0Z1Q5BAIoZBSFihQYQOOBEdkCOgXTOHA07HAGjGWiIjaPZNW13/+lm6S9FT7rLHFJ6fQbkATOG1j2OFMucKJJsxIVfQORl+9Jyda6Sl1dUYhSCm1dyClfoeDve4qMYdLEbfqHf3O/AdDumsjAAB42mNgYoAAZQYjBmyAGYQZmdhL8zLdDEydARfoAqIAAAABAAMABwAKABMAB///AA8AAQAAAAAAAAAAAAAAAAABAAAAAA==) format("woff")}.container.page .markdown-body.container{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;color:#041725;font-size:16px;line-height:24px;max-width:42em;word-wrap:break-word}.markdown-body .badges{float:right}.markdown-body .pl-c{color:#969896}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:#0086b3}.markdown-body .pl-e,.markdown-body .pl-en{color:#795da3}.markdown-body .pl-s .pl-s1,.markdown-body .pl-smi{color:#333}.markdown-body .pl-ent{color:#63a35c}.markdown-body .pl-k{color:#a71d5d}.markdown-body .pl-pds,.markdown-body .pl-s,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sra,.markdown-body .pl-sr .pl-sre{color:#183691}.markdown-body .pl-v{color:#ed6a43}.markdown-body .pl-id{color:#b52a1d}.markdown-body .pl-ii{color:#f8f8f8;background-color:#b52a1d}.markdown-body .pl-sr .pl-cce{font-weight:700;color:#63a35c}.markdown-body .pl-ml{color:#693a17}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{font-weight:700;color:#1d3e81}.markdown-body .pl-mq{color:teal}.markdown-body .pl-mi{font-style:italic;color:#333}.markdown-body .pl-mb{font-weight:700;color:#333}.markdown-body .pl-md{color:#bd2c00;background-color:#ffecec}.markdown-body .pl-mi1{color:#55a532;background-color:#eaffea}.markdown-body .pl-mdr{font-weight:700;color:#795da3}.markdown-body .pl-mo{color:#1d3e81}.markdown-body .octicon{display:inline-block;vertical-align:text-top;fill:currentColor}.markdown-body a{background-color:transparent;-webkit-text-decoration-skip:objects}.markdown-body a:active,.markdown-body a:hover{outline-width:0}.markdown-body strong{font-weight:inherit;font-weight:bolder}.markdown-body img{border-style:none}.markdown-body svg:not(:root){overflow:hidden}.markdown-body hr{box-sizing:content-box;overflow:visible}.markdown-body input{font:inherit;margin:0;overflow:visible}.markdown-body [type=checkbox]{box-sizing:border-box;padding:0}.markdown-body *{box-sizing:border-box}.markdown-body input{font-family:inherit;font-size:inherit;line-height:inherit}.markdown-body a{text-decoration:none}.markdown-body a:active,.markdown-body a:hover{text-decoration:underline}.markdown-body strong{font-weight:600}.markdown-body hr{height:0;margin:15px 0;overflow:hidden;background:transparent;border-bottom:1px solid #ddd}.markdown-body hr:after,.markdown-body hr:before{display:table;content:""}.markdown-body hr:after{clear:both}.markdown-body table{border-spacing:0;border-collapse:collapse}.markdown-body td,.markdown-body th{padding:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:2rem;margin-bottom:0;font-weight:600}.markdown-body p{margin-top:0;margin-bottom:10px}.markdown-body p2{padding:2rem 2rem 2rem 4rem}.markdown-body blockquote{margin:0}.markdown-body ol,.markdown-body ul{padding-left:0;margin-top:0;margin-bottom:0}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ol ol ol,.markdown-body ol ul ol,.markdown-body ul ol ol,.markdown-body ul ul ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body code{font-size:12px}.markdown-body code,.markdown-body pre{font-family:Consolas,Liberation Mono,Menlo,Courier,monospace}.markdown-body pre{margin-bottom:0;padding:1rem 2rem;margin-top:2.5rem!important;margin-left:-1rem}.markdown-body .octicon{vertical-align:text-bottom}.markdown-body input{-webkit-font-feature-settings:"liga" 0;font-feature-settings:"liga" 0}.markdown-body:after,.markdown-body:before{display:table;content:""}.markdown-body:after{clear:both}.markdown-body>:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .anchor{float:left;padding-right:4px;margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body blockquote,.markdown-body dl,.markdown-body ol,.markdown-body p,.markdown-body pre,.markdown-body table,.markdown-body ul{margin-top:0;margin-bottom:16px}.markdown-body hr{height:.05em;padding:0;margin:24px 0;background-color:#e7e7e7;border:0}.markdown-body blockquote{padding:0 1em;color:#777;border-left:.25em solid #ddd}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body kbd{font-size:11px}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:1rem;margin-bottom:16px;font-weight:500}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#000;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1{padding-bottom:.5em;font-size:32px;line-height:48px}.markdown-body h2{padding-bottom:.5em;font-size:28px;line-height:36px}.markdown-body h3{font-size:24px;line-height:36px}.markdown-body h4{font-size:1em}.markdown-body h5{font-size:1em;margin-bottom:8px}.markdown-body h6{font-size:.85em;color:#777;margin-bottom:4px}.markdown-body ol,.markdown-body ul{padding-left:2em}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:700}.markdown-body dl dd{padding:0 16px;margin-bottom:16px}.markdown-body table{display:block;width:100%;overflow:auto}.markdown-body table th{font-weight:700}.markdown-body table td,.markdown-body table th{padding:6px 13px;border:1px solid #ddd}.markdown-body table tr{background-color:#fff;border-top:1px solid #ccc}.markdown-body table tr:nth-child(2n){background-color:#f8f8f8}.markdown-body img{max-width:100%;box-sizing:content-box;background-color:#fff}.markdown-body code{padding:.2em 0;margin:0;background-color:rgba(0,0,0,.04);border-radius:3px;font-size:inherit!important}.markdown-body code:after,.markdown-body code:before{letter-spacing:-.2em;content:"\A0"}.markdown-body pre{word-wrap:normal}.markdown-body pre>code{padding:0;margin:0;word-break:normal;white-space:pre;background:transparent;border:0}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#f7f7f7;border-radius:3px}.markdown-body pre code{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body pre code:after,.markdown-body pre code:before{content:normal}.markdown-body .pl-0{padding-left:0!important}.markdown-body .pl-1{padding-left:3px!important}.markdown-body .pl-2{padding-left:6px!important}.markdown-body .pl-3{padding-left:12px!important}.markdown-body .pl-4{padding-left:24px!important}.markdown-body .pl-5{padding-left:36px!important}.markdown-body .pl-6{padding-left:48px!important}.markdown-body .full-commit .btn-outline:not(:disabled):hover{color:#4078c0;border:1px solid #4078c0}.markdown-body kbd{display:inline-block;padding:3px 5px;font:11px Consolas,Liberation Mono,Menlo,Courier,monospace;line-height:10px;color:#555;vertical-align:middle;background-color:#fcfcfc;border:1px solid;border-color:#ccc #ccc #bbb;border-radius:3px;box-shadow:inset 0 -1px 0 #bbb}.markdown-body :checked+.radio-label{position:relative;z-index:1;border-color:#4078c0}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item+.task-list-item{margin-top:3px}.markdown-body .task-list-item input{margin:0 .2em .25em -1.6em;vertical-align:middle}.markdown-body hr{border-bottom-color:#eee}.f{display:flex}.f1{flex:1 1}.fac{align-items:center}.fac,.fjc{display:flex}.fjc{justify-content:center}.fje{justify-content:flex-end}.fje,.z{display:flex}.z{align-items:center;justify-content:center}.fg{flex-grow:1}.fw{flex-wrap:wrap}.fcol{flex-direction:column}.p{padding:1rem}.p-bottom{padding-bottom:1rem}.p-right{padding-right:1rem}.p-left{padding-left:1rem}.p-top{padding-top:1rem}.p2{padding:2rem}.p2-bottom{padding-bottom:2rem}.p2-right{padding-right:2rem}.p2-left{padding-left:2rem}.p2-top{padding-top:2rem}.p4{padding:4rem}.p4-bottom{padding-bottom:4rem}.p4-right{padding-right:4rem}.p4-left{padding-left:4rem}.p4-top{padding-top:4rem}.ph{padding:0 1rem}.ph2{padding:0 2rem}.mv1>*+*{margin-top:1rem!important}.mv2>*+*{margin-top:2rem!important}.mh1>*+*{margin-left:1rem!important}.m{margin:1rem}.m-bottom{margin-bottom:1rem}.m-right{margin-right:1rem}.m-left{margin-left:1rem}.m-top{margin-top:1rem}.m2{margin:2rem}.m2-bottom{margin-bottom:2rem}.m2-right{margin-right:2rem}.m2-left{margin-left:2rem}.m2-top{margin-top:2rem}.m4{margin:4rem}.m4-bottom{margin-bottom:4rem}.m4-right{margin-right:4rem}.m4-left{margin-left:4rem}.m4-top{margin-top:4rem}.hide{display:none}*{box-sizing:border-box;margin:0;padding:0;font:inherit;color:inherit;border:none;background:transparent}body,html{height:100vh}#root{display:flex;flex-direction:column;min-height:100vh}#root>div{position:relative}#root>div,#root>div>div{display:flex;flex-direction:column;flex-grow:1}#root>div>div{margin-top:4rem}body{font-family:ff-clan-web-pro,Helvetica Neue,Helvetica,sans-serif!important;font-size:16px;line-height:24px;overflow-y:auto}a{outline:none;text-decoration:none;display:inline-block;cursor:pointer}a,a:visited{color:#00ade6}h2{font-size:28px;line-height:40px;margin:0 0 8px}h2,h3{font-weight:400}h3{font-size:24px;line-height:36px;margin:32px 0 8px}.Contributors{display:flex;flex-wrap:wrap;justify-content:center}.Contributors .Contributor{width:10rem;height:10rem;position:relative;background-color:rgba(0,0,0,.1)}.Contributors .Contributor span{position:absolute;bottom:.5rem;left:.5rem;font-weight:700;color:#fff;text-shadow:3px 3px 3px #000}.Contributors .Contributor img{opacity:.9;transition:opacity .25s ease-in}.Contributors .Contributor:hover img{opacity:1}.container{max-width:80rem;width:100%;margin:0 auto}hr{border:none;background-color:#ededed;height:1px}hr.short{display:inline-block;margin:24px 0 0;width:32px;height:2px;background:linear-gradient(90deg,#00ade6,#05e3d5)}footer{position:absolute;bottom:-13rem;width:100%;z-index:2;background-image:url();background-size:32px;background-repeat:repeat;background-position:16px -8px;color:#ededed;height:13rem;padding:4rem 0 4rem 2rem}footer h4{font-size:12px;line-height:20px;font-weight:400;letter-spacing:2px;opacity:.4;margin-bottom:1rem;margin-right:1rem}footer img{display:inline-block}@media only screen and (max-width:1000px){#home .secondary{margin:0 auto;max-width:67%}.section-title{padding:47px 0 0 64px}.Repo.big{max-width:calc(100% - 118px)}.Repo.big .Repo-desc{font-size:22px;line-height:1.5}.cases{max-width:calc(100% - 118px);-webkit-transform:none;transform:none}.case{width:100%;margin-right:0}.case-image{background-size:contain;width:calc(100vw - 118px);height:calc((100vw - 118px)/1.5)}#showcase{padding-bottom:59px;padding-top:0}#showcase .description{margin-bottom:33px}#showcase .link-with-arrow{margin-bottom:65px}.modules{max-width:calc(100% - 106px);-webkit-transform:translate(-12px);transform:translate(-12px);min-height:300px}.modules .Repo.small{width:calc(50vw - 65px);margin-right:12px}footer .content{max-width:calc(100vw - 118px)}}@media only screen and (max-width:800px){.modules .Repo.small{min-height:400px}#hero .main{font-size:40px}#hero .secondary{font-size:20px}.news--item--image{height:auto;position:static;margin:24px 0;max-width:100%}.news--item--title{max-width:100%}.section-title p{font-size:32px}}@media only screen and (max-width:700px){header.about,header.inthenews{height:256px;background:#100a29}.open .site-links{display:none}header.home{overflow:visible;height:70px}header .links,header.open .links{display:block;max-height:16rem}header .links{height:16rem;margin-top:4rem;position:fixed;width:100%;z-index:5;left:0}header .links a{height:auto;line-height:4rem;margin-left:0;border-width:0;border-style:none}header.open .bg{opacity:1!important}#intro{padding-top:125px}#news{padding-top:200px}#hero{padding-top:300px}}@media only screen and (max-device-width:47.9rem){.Tile{height:10rem}}@media only screen and (max-width:660px){.Repo-github{flex-direction:column}.Repo-github .Repo-desc{margin-top:2rem;margin-left:0}}@media only screen and (max-width:600px){header.about .container,header.home .container,header.inthenews .container{max-width:calc(100% - 71px)}.modules .Repo.small{width:calc(100vw - 71px);margin-right:0;height:auto;min-height:auto}footer .content{max-width:calc(100vw - 71px)}footer .content .main{max-width:100%;width:100%;font-weight:400}footer .content .links{max-width:calc(50% - 10px);margin-right:20px}footer .content .links:last-child{margin-right:0}}@media screen and (max-width:576px){.main-container>.toc{position:absolute;width:100vw;height:0;padding:0}.toc>div{padding:0!important}.toc.open{position:absolute;top:16rem;height:auto!important}.hide-mobile{display:none}header .header-content{padding-right:0}header .menu-toggle{display:flex;align-items:center;justify-content:center}.Hero{padding:3rem 2rem}.Hero h1{font-size:1.75rem}.Hero p{font-size:.75rem}.markdown{width:100%}.toc{position:absolute;width:100vw;height:0;padding:0}.toc>div{padding-top:12rem;padding-bottom:1rem}.toc.open{padding:1rem;height:100%}.toc.open+*{display:none}.toc+*{margin-left:0}.p4{padding:.5rem 1rem}}@media only screen and (max-width:400px){#hero .main{font-size:34px;margin:0 auto 61px}#hero .main,#hero .secondary{max-width:calc(100% - 71px);text-align:left}#hero .secondary{font-size:16px;margin:0 auto}.section-title{background-size:178px 145px;max-width:calc(100% - 71px);padding:47px 0 0}.section-title h2{font-size:16px;line-height:3}.section-title p{font-size:26px}.Repo.big{max-width:100%;height:auto}.Repo.big .Repo-github{margin:0 auto}.Repo.big .Repo-github .Repo-desc{position:static;margin-bottom:21px}.modules .Repo.small{width:calc(100vw - 71px);margin-right:0}}</style><meta name="generator" content="Gatsby 2.0.61"/><title data-react-helmet="true">Vis.gl - Uber Vis Team</title><meta data-react-helmet="true" name="description" content="Cutting edge technology meets beautiful data visualization."/><meta data-react-helmet="true" name="keywords" content="visualization, data visualization, webGL, uber"/><script>
  
  
  if(true) {
    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
  }
  if (typeof ga === "function") {
    ga('create', 'UA-64694404-17', 'auto', {});
      
      }
      </script><link rel="shortcut icon" href="/icons-b56407db0877c3a33f0f9dd263bbf475/favicon.ico"/><link rel="icon" type="image/png" sizes="16x16" href="/icons-b56407db0877c3a33f0f9dd263bbf475/favicon-16x16.png"/><link rel="icon" type="image/png" sizes="32x32" href="/icons-b56407db0877c3a33f0f9dd263bbf475/favicon-32x32.png"/><link rel="manifest" href="/icons-b56407db0877c3a33f0f9dd263bbf475/manifest.json"/><meta name="mobile-web-app-capable" content="yes"/><meta name="theme-color" content="#fff"/><meta name="application-name" content="gatsby-starter-default"/><link rel="apple-touch-icon" sizes="57x57" href="/icons-b56407db0877c3a33f0f9dd263bbf475/apple-touch-icon-57x57.png"/><link rel="apple-touch-icon" sizes="60x60" href="/icons-b56407db0877c3a33f0f9dd263bbf475/apple-touch-icon-60x60.png"/><link rel="apple-touch-icon" sizes="72x72" href="/icons-b56407db0877c3a33f0f9dd263bbf475/apple-touch-icon-72x72.png"/><link rel="apple-touch-icon" sizes="76x76" href="/icons-b56407db0877c3a33f0f9dd263bbf475/apple-touch-icon-76x76.png"/><link rel="apple-touch-icon" sizes="114x114" href="/icons-b56407db0877c3a33f0f9dd263bbf475/apple-touch-icon-114x114.png"/><link rel="apple-touch-icon" sizes="120x120" href="/icons-b56407db0877c3a33f0f9dd263bbf475/apple-touch-icon-120x120.png"/><link rel="apple-touch-icon" sizes="144x144" href="/icons-b56407db0877c3a33f0f9dd263bbf475/apple-touch-icon-144x144.png"/><link rel="apple-touch-icon" sizes="152x152" href="/icons-b56407db0877c3a33f0f9dd263bbf475/apple-touch-icon-152x152.png"/><link rel="apple-touch-icon" sizes="167x167" href="/icons-b56407db0877c3a33f0f9dd263bbf475/apple-touch-icon-167x167.png"/><link rel="apple-touch-icon" sizes="180x180" href="/icons-b56407db0877c3a33f0f9dd263bbf475/apple-touch-icon-180x180.png"/><link rel="apple-touch-icon" sizes="1024x1024" href="/icons-b56407db0877c3a33f0f9dd263bbf475/apple-touch-icon-1024x1024.png"/><meta name="apple-mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/><meta name="apple-mobile-web-app-title" content="gatsby-starter-default"/><link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 480px) and (-webkit-device-pixel-ratio: 1)" href="/icons-b56407db0877c3a33f0f9dd263bbf475/apple-touch-startup-image-320x460.png"/><link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 480px) and (-webkit-device-pixel-ratio: 2)" href="/icons-b56407db0877c3a33f0f9dd263bbf475/apple-touch-startup-image-640x920.png"/><link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2)" href="/icons-b56407db0877c3a33f0f9dd263bbf475/apple-touch-startup-image-640x1096.png"/><link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2)" href="/icons-b56407db0877c3a33f0f9dd263bbf475/apple-touch-startup-image-750x1294.png"/><link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 736px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 3)" href="/icons-b56407db0877c3a33f0f9dd263bbf475/apple-touch-startup-image-1182x2208.png"/><link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 736px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 3)" href="/icons-b56407db0877c3a33f0f9dd263bbf475/apple-touch-startup-image-1242x2148.png"/><link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 1)" href="/icons-b56407db0877c3a33f0f9dd263bbf475/apple-touch-startup-image-748x1024.png"/><link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 1)" href="/icons-b56407db0877c3a33f0f9dd263bbf475/apple-touch-startup-image-768x1004.png"/><link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 2)" href="/icons-b56407db0877c3a33f0f9dd263bbf475/apple-touch-startup-image-1496x2048.png"/><link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 2)" href="/icons-b56407db0877c3a33f0f9dd263bbf475/apple-touch-startup-image-1536x2008.png"/><link rel="shortcut icon" href="/icons/icon-48x48.png"/><link rel="manifest" href="/manifest.webmanifest"/><meta name="theme-color" content="#663399"/><link as="script" rel="preload" href="/component---src-pages-index-js-024cbef44f9c73095594.js"/><link as="script" rel="preload" href="/app-fff0a5bd589928b640a9.js"/><link as="script" rel="preload" href="/1-829fbb00be77c101b846.js"/><link as="script" rel="preload" href="/8-db37a6d909015b6bde1b.js"/><link as="script" rel="preload" href="/0-9266228d6d88a6c54c0f.js"/><link as="script" rel="preload" href="/webpack-runtime-cba510df058ed0e61f7e.js"/><link rel="preload" href="/static/d/59/path---index-6a9-DWcWa8Iz5KFKILcaNqB97RlJwI.json" as="fetch" crossOrigin="use-credentials"/></head><body><div id="___gatsby"><div style="outline:none" tabindex="-1" role="group"><header class="home"><div class="f container ph2"><div><h1><a class="logo" href="/">VIS.GL</a></h1><div class="site-links"><div class="site-link"><a aria-current="page" class="logo" href="/">VIS.GL</a></div><div><div class="site-link"><a href="http://vis.gl">Vis.gl</a></div><div class="site-link"><a href="http://decl.gl">Deck.gl</a></div><div class="site-link"><a href="http://luma.gl">Luma.gl</a></div><div class="site-link"><a href="https://uber.github.io/react-map-gl/">React-Map-Gl</a></div><div class="site-link"><a href="https://uber.github.io/react-vis/">React-Vis</a></div></div></div></div><div class="links f"><a aria-current="page" class="" href="/">Home</a><a href="https://medium.com/@vis.gl">Blog</a><a class="" href="/about">About</a><a class="" href="/inthenews">In the News</a></div></div></header><div class="page"><div id="home"><div id="hero"><div class="main">Cutting edge <em>technology</em> meets beautiful <em>data visualization.</em></div><div class="secondary">Industrial-grade frameworks to supercharge your next big idea.</div></div><div id="repos"><div class="section-title"><h2>Our Frameworks</h2><p>A suite of open-source visualization frameworks</p></div><div class="Repo big opaque"><div class="Repo-img" style="background:url(/static/deck-c25dd34e732afd9a5d677f1b1abc92ce.png) top center / cover no-repeat"></div><div class="Repo-github"><div><h1>deck.gl</h1><div class="badge">react first</div><div class="Repo-get-started"><a href="http://uber.github.io/deck.gl/#/" class="link">Get Started</a></div><div class="Repo-border"><a href="https://github.com/uber/deck.gl" class="link">Github</a><div class="Stars"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 14 16" height="1em" width="1em"><path fill-rule="evenodd" d="M14 6l-4.9-.64L7 1 4.9 5.36 0 6l3.6 3.26L2.67 14 7 11.67 11.33 14l-.93-4.74L14 6z"></path></svg><span>5412</span></div></div></div><div class="Repo-desc">A high-performance WebGL 2 rendering framework for big data visualizations that integrates perfectly with reactive applications.</div></div></div><div class="Repo big opaque"><div class="Repo-img" style="background:url(/static/luma-4eac6988adc10f8ea88627a152212368.png) top center / cover no-repeat"></div><div class="Repo-github"><div><h1>luma.gl</h1><div class="badge">pure javascript</div><div class="Repo-get-started"><a href="http://uber.github.io/luma.gl/#/" class="link">Get Started</a></div><div class="Repo-border"><a href="https://github.com/uber/luma.gl" class="link">Github</a><div class="Stars"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 14 16" height="1em" width="1em"><path fill-rule="evenodd" d="M14 6l-4.9-.64L7 1 4.9 5.36 0 6l3.6 3.26L2.67 14 7 11.67 11.33 14l-.93-4.74L14 6z"></path></svg><span>1269</span></div></div></div><div class="Repo-desc">A comprehensive set of WebGL 2 components targeting high-performance rendering and GPGPU computing.</div></div></div><div class="Repo big opaque"><div class="Repo-img" style="background:url(/static/react-map-gl-ed3663a7070d6848f9a19725a8e9558a.png) top center / cover no-repeat"></div><div class="Repo-github"><div><h1>react-map-gl</h1><div class="badge">react only</div><div class="Repo-get-started"><a href="https://uber.github.io/react-map-gl/#/" class="link">Get Started</a></div><div class="Repo-border"><a href="https://github.com/uber/react-map-gl" class="link">Github</a><div class="Stars"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 14 16" height="1em" width="1em"><path fill-rule="evenodd" d="M14 6l-4.9-.64L7 1 4.9 5.36 0 6l3.6 3.26L2.67 14 7 11.67 11.33 14l-.93-4.74L14 6z"></path></svg><span>4083</span></div></div></div><div class="Repo-desc">A comprehensive React wrapper for mapbox-gl. Designed to work seamlessly as a basemap for geospatial visualizations.</div></div></div><div class="Repo big opaque"><div class="Repo-img" style="background:url(/static/react-vis-7d75110e1c8effb13999ef892c222f28.png) top center / cover no-repeat"></div><div class="Repo-github"><div><h1>react-vis</h1><div class="badge">react only</div><div class="Repo-get-started"><a href="https://uber.github.io/react-vis/" class="link">Get Started</a></div><div class="Repo-border"><a href="https://github.com/uber/react-vis" class="link">Github</a><div class="Stars"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 14 16" height="1em" width="1em"><path fill-rule="evenodd" d="M14 6l-4.9-.64L7 1 4.9 5.36 0 6l3.6 3.26L2.67 14 7 11.67 11.33 14l-.93-4.74L14 6z"></path></svg><span>4778</span></div></div></div><div class="Repo-desc">A composable, deeply customizable charting library</div></div></div></div><div id="showcase"><div class="section-title section-title--no-logo"><h3>Application Showcase</h3><p>Our frameworks work together to enable world-class user experiences.</p></div><div class="cases"><div class="case"><div class="frame"><div class="browser-bar"><div class="browser-bar-button"></div><div class="browser-bar-button"></div><div class="browser-bar-button"></div></div><div class="case-image" style="background-image:url(/static/kepler-gl-contours-2b6ee40d97acb456e8553c8111f63a78.png)"></div></div><h1>Kepler.gl</h1><p class="description">Kepler.gl is a powerful web-based geospatial data analysis tool. Built on a high performance rendering engine and designed for large-scale data sets.</p><a class="link-with-arrow" href="http://kepler.gl"><span class="label">Visit Site</span><svg class="arrow" width="21" height="13" viewBox="0 0 21 13" xmlns="http://www.w3.org/2000/svg"><path d="M16.8 5.143H0v1.714h17.14l-4.283 4.283 1.2 1.2 5.998-5.997-.173-.172.173-.172L14.058 0l-1.2 1.2 3.94 3.943z" fill="currentColor" fill-rule="evenodd"></path></svg></a></div><div class="case"><div class="frame"><div class="browser-bar"><div class="browser-bar-button"></div><div class="browser-bar-button"></div><div class="browser-bar-button"></div></div><div class="case-image" style="background-image:url(/static/movement-01b078795fc5abcea46fde260cca3946.png)"></div></div><h1>Movement</h1><p class="description">A free tool that shares dynamic insights about traffic and mobility in cities where Uber operates.</p><a class="link-with-arrow" href="https://movement.uber.com"><span class="label">Visit Site</span><svg class="arrow" width="21" height="13" viewBox="0 0 21 13" xmlns="http://www.w3.org/2000/svg"><path d="M16.8 5.143H0v1.714h17.14l-4.283 4.283 1.2 1.2 5.998-5.997-.173-.172.173-.172L14.058 0l-1.2 1.2 3.94 3.943z" fill="currentColor" fill-rule="evenodd"></path></svg></a></div><div class="case"><div class="frame"><div class="browser-bar"><div class="browser-bar-button"></div><div class="browser-bar-button"></div><div class="browser-bar-button"></div></div><div class="case-image" style="background-image:url(/static/atg-6cd389c67dfd76d66df36495a0e17ba3.png)"></div></div><h1>Uber Advanced Technologies Group</h1><p class="description">A platform that enables engineers and across ATG to quickly inspect, debug, and explore data collected by our self driving cars.</p><a class="link-with-arrow" href="https://techcrunch.com/2017/08/28/uber-shows-off-its-autonomous-driving-programs-snazzy-visualization-tool"><span class="label">Read more</span><svg class="arrow" width="21" height="13" viewBox="0 0 21 13" xmlns="http://www.w3.org/2000/svg"><path d="M16.8 5.143H0v1.714h17.14l-4.283 4.283 1.2 1.2 5.998-5.997-.173-.172.173-.172L14.058 0l-1.2 1.2 3.94 3.943z" fill="currentColor" fill-rule="evenodd"></path></svg></a></div></div></div><div id="academy"><div class="section-title"><h2>Vis Academy</h2><p style="margin-bottom:3rem">Learn from the experts and get started quickly.</p><div class="big-link" style="margin:0"><a class="link-with-arrow" href="http://vis.academy"><span class="label">Get started!</span><svg class="arrow" width="21" height="13" viewBox="0 0 21 13" xmlns="http://www.w3.org/2000/svg"><path d="M16.8 5.143H0v1.714h17.14l-4.283 4.283 1.2 1.2 5.998-5.997-.173-.172.173-.172L14.058 0l-1.2 1.2 3.94 3.943z" fill="currentColor" fill-rule="evenodd"></path></svg></a></div></div></div><div id="repos"><div class="section-title section-title--no-logo"><h2>Our Components</h2><p>Smaller projects that have been created to solve everyday tasks.</p></div><div class="modules"><div class="Repo-github Repo small"><h1>math.gl</h1><div class="badge">react-first</div><div class="Repo-desc">A compact, modern, and well documented library targeting the needs of 3D graphics.</div><div class="Repo-get-started"><a href="https://uber-web.github.io/math.gl/#/" class="link">Get Started</a></div></div><div class="Repo-github Repo small"><h1>mjolnir.js</h1><div class="badge">javascript</div><div class="Repo-desc">Management of browser events and gestures in a portable, modern way.</div><div class="Repo-get-started"><a href="https://uber-web.github.io/mjolnir.js/#/" class="link">Get Started</a></div></div><div class="Repo-github Repo small"><h1>viewport-mercator-project</h1><div class="badge">javascript</div><div class="Repo-desc">A library that collects 3D enabled web mercator projection math and tests.</div><div class="Repo-get-started"><a href="https://uber-common.github.io/viewport-mercator-project/#/" class="link">Get Started</a></div></div><div class="Repo-github Repo small"><h1>probe.gl</h1><div class="badge">javascript</div><div class="Repo-desc">JavaScript console instrumentation and benchmarking for browser and node.js</div><div class="Repo-get-started"><a href="https://uber-web.github.io/probe.gl/#/" class="link">Get Started</a></div></div><div class="Repo-github Repo small"><h1>h3</h1><div class="badge">c</div><div class="badge">javascript</div><div class="Repo-desc">A hexagonal hierarchical geospatial indexing system</div><div class="Repo-get-started"><a href="https://uber.github.io/h3/#/" class="link">Get Started</a></div></div><div class="Repo-github Repo small"><h1>nebula.gl</h1><div class="badge">javascript</div><div class="Repo-desc">A suite of 3D-enabled data editing overlays, suitable for deck.gl</div><div class="Repo-get-started"><a href="https://neb.gl/#/" class="link">Get Started</a></div></div><div class="Repo-github Repo small"><h1>loaders.gl</h1><div class="badge">javascript</div><div class="Repo-desc">A suite of framework-independent loaders (i.e. parsers) for 3D geometries and assets, as well as geospatial formats.</div><div class="Repo-get-started"><a href="https://uber-web.github.io/loaders.gl/#/" class="link">Get Started</a></div></div></div></div></div></div><footer id="Footer"><div class="content"><div class="main"><h1><a aria-current="page" class="" href="/">VIS.GL</a></h1><p>The Visualization Suite is brought to you by the Uber Visualization team. We re always looking for talent to do great work, so do not hesitate to get in touch!</p></div><div class="links"><div class="label">Frameworks</div><ul><li><a href="http://vis.gl">Vis.gl</a></li><li><a href="http://decl.gl">Deck.gl</a></li><li><a href="http://luma.gl">Luma.gl</a></li><li><a href="https://uber.github.io/react-map-gl/">React-Map-Gl</a></li><li><a href="https://uber.github.io/react-vis/">React-Vis</a></li></ul></div><div class="links"><div class="label">Navigation</div><ul><li><a aria-current="page" class="" href="/">Home</a></li><li><a href="https://medium.com/@vis.gl">Blog</a></li><li><a href="/about">About</a></li><li><a href="/inthenews">In the News</a></li></ul></div></div></footer></div></div><script id="gatsby-script-loader">/*<![CDATA[*/window.page={"componentChunkName":"component---src-pages-index-js","jsonName":"index","path":"/"};window.dataPath="59/path---index-6a9-DWcWa8Iz5KFKILcaNqB97RlJwI";/*]]>*/</script><script id="gatsby-chunk-mapping">/*<![CDATA[*/window.___chunkMapping={"app":["/app-fff0a5bd589928b640a9.js"],"component---src-pages-404-js":["/component---src-pages-404-js-b193e2dca9ca5b21ec87.js"],"component---src-pages-about-js":["/component---src-pages-about-js-077832e60b7c2307a95d.js"],"component---src-pages-index-js":["/component---src-pages-index-js-024cbef44f9c73095594.js"],"component---src-pages-inthenews-js":["/component---src-pages-inthenews-js-d2aac7ad7dfffdc7cffa.js"]};/*]]>*/</script><script src="/webpack-runtime-cba510df058ed0e61f7e.js" async=""></script><script src="/0-9266228d6d88a6c54c0f.js" async=""></script><script src="/8-db37a6d909015b6bde1b.js" async=""></script><script src="/1-829fbb00be77c101b846.js" async=""></script><script src="/app-fff0a5bd589928b640a9.js" async=""></script><script src="/component---src-pages-index-js-024cbef44f9c73095594.js" async=""></script></body></html>
>>>>>>> gatsby proof of concept
